package com.kitom.qqmap.api;

import com.kitom.qqmap.bean.address.QQmapAddrToGeoRequest;
import com.kitom.qqmap.bean.address.QQmapAddrToGeoResult;
import com.kitom.qqmap.bean.geocode.QQmapGeocodeGeoRequest;
import com.kitom.qqmap.bean.geocode.QQmapGeocodeGeoResult;

/**
 * <pre>
 *  地理/逆地理编码服务接口
 * </pre>
 * @author <a href="https://gitee.com/kitom">ki_tom</a>
 * @since 2021-01-12
 */
public interface QQmapGeocodeService {

    /**
     * 逆地址解析
     */
    String REGEO = "https://apis.map.qq.com/ws/geocoder/v1/";

    /**
     * 地址解析到坐标
     */
    String GEO = "https://apis.map.qq.com/ws/geocoder/v1/";


    /**
     * 逆地址解析
     * <pre>
     *   <a href="https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder">文档地址</a>
     * </pre>
     * @param qmapGeocodeGeoRequest {@link QQmapGeocodeGeoRequest}
     * @return {@link QQmapGeocodeGeoResult}
     */
    QQmapGeocodeGeoResult geocodeGeo(QQmapGeocodeGeoRequest qmapGeocodeGeoRequest);

    /**
     * 地址解析geo
     * <pre>
     *   <a href="https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder">文档地址</a>
     * </pre>
     * @param qmapAddrToGeoRequest {@link QQmapAddrToGeoRequest}
     * @return {@link QQmapAddrToGeoResult}
     */
    QQmapAddrToGeoResult addrToGeocode(QQmapAddrToGeoRequest qmapAddrToGeoRequest);
}
